エラーをサービスに報告する
バグのないアプリを作成するよう常に努めていますが、 彼らは時々現れるでしょう。 バグのあるアプリはユーザーや顧客の不満につながるため、 ユーザーがどのくらいの頻度でアクセスするかを理解することが重要です エクスペリエンスのバグとそのバグが発生する場所。 そうすることで、バグに優先順位を付けることができます。 最も大きな影響があり、それらを修正するために取り組みます。
ユーザーがバグに遭遇する頻度をどのように判断できますか? エラーが発生するたびに、次の内容を含むレポートを作成します。 発生したエラーと関連するスタックトレース。 その後、レポートをエラー追跡部門に送信できます。 サービスなどバグスナッグ、データドッグ、生地、Firebase Crashlytics、ロールバー、またはセントリー。
エラー追跡サービスは、ユーザーのすべてのクラッシュを集約します。 経験してそれらをグループ化します。これにより、どのくらいの頻度で アプリが失敗し、ユーザーが問題に遭遇した場合。
このレシピでは、エラーを衛兵を使用したクラッシュレポートサービス 次の手順:
- Sentry から DSN を取得します。
- Flutter Sentry パッケージをインポートする
- Sentry SDK を初期化する
- プログラムでエラーをキャプチャする
1. Sentry から DSN を取得する
Sentry にエラーを報告する前に、一意に識別するための「DSN」が必要です アプリを Sentry.io サービスに追加します。
DSN を取得するには、次の手順を実行します。
- Sentry でアカウントを作成する。
- アカウントにログインします。
- 新しい Flutter プロジェクトを作成します。
- DSN を含むコード スニペットをコピーします。
2. Sentry パッケージをインポートする
インポートするsentry_flutter
アプリにパッケージ化します。
セントリーパッケージを使用すると送信が簡単になります
エラーは Sentry エラー追跡サービスに報告されます。
追加するには、sentry_flutter
パッケージを依存関係として、
走るflutter pub add
:
$ flutter pub add sentry_flutter
3. Sentry SDK を初期化する
SDK を初期化して、さまざまな未処理エラーを自動的にキャプチャします。
import 'package:flutter/widgets.dart';
import 'package:sentry_flutter/sentry_flutter.dart';
Future<void> main() async {
await SentryFlutter.init(
(options) => options.dsn = 'https://example@sentry.io/example',
appRunner: () => runApp(const MyApp()),
);
}
あるいは、次のコマンドを使用して DSN を Flutter に渡すこともできます。dart-define
鬼ごっこ:
--dart-define SENTRY_DSN=https://example@sentry.io/example
それは私に何をもたらしますか?
Sentry が Dart 層とネイティブ層で未処理のエラーをキャプチャするために必要なのはこれだけです。
これには、iOS の Swift、Objective-C、C、および C++、Android の Java、Kotlin、C、および C++ が含まれます。
4. プログラムでエラーをキャプチャする
Sentry が生成する自動エラー レポートに加えて、 SDKのインポートと初期化、 API を使用して Sentry にエラーを報告できます。
await Sentry.captureException(exception, stackTrace: stackTrace);
詳細については、「セントリーAPIpub.dev のドキュメント。
もっと詳しく知る
Sentry SDK の使用に関する広範なドキュメントは、次の場所にあります。セントリーのサイト。
完全な例
実際の例を表示するには、 を参照してくださいセントリー flutterの例アプリ。